ARM Cortex-A8體系結構與外設接口實戰開發

ARM Cortex-A8體系結構與外設接口實戰開發

本書以Cortex-A8系列的S5PV210處理器為基礎,從ARM的基礎理論知識入手,以不同的外設為基準點講解了Cortex-A系列的強大功能,主要內容涵蓋ARM處理器概述、ARM彙編語言基礎、ARM中的C語言和彙編混合編程、GPIO接口、存儲器接口設計與套用、中斷系統原理與套用、串口通信原理與套用、ADC和觸控螢幕接口與套用、I2C接口與套用、系統時鐘與定時器、LCD接口設計與套用、IIS接口控制與套用、DMA接口與套用、NAND Flash控制接口與套用。

圖書內容

本書以Cortex-A8系列的S5PV210處理器為基礎,從ARM的基礎理論知識入手,以不同的外設為基準點講解了Cortex-A系列的強大功能,主要內容涵蓋ARM處理器概述、ARM彙編語言基礎、ARM中的C語言和彙編混合編程、GPIO接口、存儲器接口設計與套用、中斷系統原理與套用、串口通信原理與套用、ADC和觸控螢幕接口與套用、I2C接口與套用、系統時鐘與定時器、LCD接口設計與套用、IIS接口控制與套用、DMA接口與套用、NAND Flash控制接口與套用。

目 錄

第1章 ARM處理器概述 1

1.1 ARM處理器的套用領域和特點 1

1.1.1 ARM處理器的套用領域 1

1.1.2 ARM處理器的特點 3

1.2 主流的ARM處理器介紹 3

1.2.1 ARM體系結構的命名規則 4

1.2.2 ARM Cortex應用程式處理器 4

1.2.3 ARM Cortex嵌入式處理器 6

1.2.4 經典ARM處理器 9

1.2.5 ARM專家處理器 12

1.2.6 其他ARM處理器 13

1.3 S5PV210處理器簡介 14

1.3.1 AMBA、AHB、APB匯流排介紹 15

1.3.2 存儲器子系統 16

1.3.3 多媒體 17

1.3.4 時鐘和電源管理 19

本章小結 23

第2章 ARM彙編語言基礎 24

2.1 編程模型介紹 24

2.1.1 ARM處理器模式 24

2.1.2 ARM暫存器組介紹 25

2.2 ARM處理器定址方式 27

2.2.1 立即定址 27

2.2.2 暫存器定址 27

2.2.3 暫存器間接定址 27

2.2.4 暫存器偏移定址 28

2.2.5 基址變址定址 28

2.2.6 多暫存器定址 28

2.2.7 堆疊定址 29

2.3 ARM指令集 29

2.3.1 ARM指令的格式和分類 29

2.3.2 跳轉指令 31

2.3.3 數據處理指令 32

2.3.4 程式狀態暫存器傳輸指令 37

2.3.5 Load/Store指令 39

2.3.6 協處理器指令 40

2.3.7 異常中斷產生指令 42

2.4 Thumb指令集 43

2.4.1 Thumb指令集簡介 43

2.4.2 Thumb指令集和ARM指令集的區別 43

2.5 ARM偽指令 44

2.5.1 小範圍地址讀取——ADR偽指令 44

2.5.2 中等範圍地址讀取——ADRL偽指令 45

2.5.3 大範圍地址讀取——LDR偽指令 46

2.5.4 空操作——NOP偽指令 47

2.6 ARM彙編語言的偽操作和宏指令 48

2.6.1 符號定義偽操作 48

2.6.2 數據定義偽操作 50

2.6.3 彙編控制偽操作 52

2.6.4 雜項偽操作 54

2.6.5 GNU ARM彙編偽操作 58

2.7 ARM彙編實例 62

2.7.1 彙編語句格式 62

2.7.2 彙編語言的程式結構 63

2.7.3 程式實例 63

本章小結 65

第3章 ARM中的C語言和彙編混合編程 66

3.1 ATPCS介紹 66

3.1.1 暫存器的使用規則 66

3.1.2 數據棧使用規則 67

3.1.3 參數傳遞規則 68

3.2 內嵌彙編 69

3.2.1 內嵌彙編的語法格式 69

3.2.2 內嵌彙編指令的特點 69

3.2.3 內嵌彙編指令注意事項 71

3.2.4 內嵌彙編指令舉例 73

3.3 ARM中的彙編和C語言相互調用 74

3.3.1 從彙編程式中訪問C程式變數 74

3.3.2 C程式調用彙編程式 75

3.3.3 彙編程式調用C程式 76

本章小結 77

第4章 GPIO接口 78

4.1 GPIO概述 78

4.1.1 GPIO簡介 78

4.1.2 GPIO暫存器 79

4.1.3 IO操作的步驟 80

4.2 按鍵控制LED實例 80

4.2.1 硬體原理圖 80

4.2.2 實例測試 83

4.2.3 跑馬燈實例 84

本章小結 86

第5章 存儲器接口設計與套用 87

5.1 存儲器概述 87

5.1.1 存儲器分類 87

5.1.2 存儲器的層次結構 89

5.1.3 ARM存儲器系統 90

5.2 SDRAM記憶體管理 90

5.2.1 S5PV210地址空間 90

5.2.2 SDRAM工作原理 92

5.2.3 SDRAM存儲控制器的使用 95

5.3 SDRAM存儲器接口實例 95

5.3.1 SDRAM硬體接口電路 95

5.3.2 SDRAM控制器使用分析 97

5.3.3 程式設計及分析 99

5.3.4 實例測試 103

本章小結 103

第6章 中斷系統原理與套用 104

6.1 中斷的基本概念 104

6.1.1 中斷的基本概念和處理過程 104

6.1.2 中斷源、中斷信號和中斷向量 105

6.1.3 中斷優先權和中斷嵌套 106

6.1.4 中斷回響條件與中斷控制 106

6.2 S5PV210的中斷系統 107

6.2.1 S5PV210的中斷源 107

6.2.2 S5PV210的中斷控制 108

6.3 S5PV210中斷編寫實例 112

6.3.1 中斷控制程式編寫步驟 112

6.3.2 中斷實例 115

6.3.3 實例測試 123

本章小結 123

第7章 串口通信原理與套用 124

7.1 串口通信原理 124

7.1.1 串口通信的重要參數 124

7.1.2 串列通信接口 125

7.1.3 通用異步接收器和傳送器(UART) 126

7.2 S5PV210的UART功能暫存器 129

7.2.1 UART控制暫存器 129

7.2.2 UART 操作暫存器 132

7.3 UART通信實例(一) 133

7.3.1 查看電路連線圖 133

7.3.2 翻查數據手冊 134

7.3.3 確定關鍵定義 135

7.3.4 編寫程式 135

7.3.5 實例測試 141

7.4 UART通信實例(二) 141

本章小結 144

第8章 ADC和觸控螢幕接口與套用 145

8.1 ADC工作原理 145

8.2 觸控螢幕結構和工作原理 146

8.2.1 觸控螢幕的工作原理 147

8.2.2 觸控螢幕的主要類型 147

8.3 S5PV210中的觸控螢幕接口 150

8.3.1 ADC工作模式 151

8.3.2 觸控螢幕接口模式 152

8.4 硬體連線 153

8.5 ADC及觸控螢幕接口特殊暫存器 154

8.6 觸控螢幕控制實例 155

8.7 滑動變阻器控制實例 160

本章小結 164

第9章 I2C接口與套用 165

9.1 I2C匯流排協定 165

9.2 S5PV210的I2C匯流排控制器 166

9.2.1 S5PV210的I2C接口的主要特性 167

9.2.2 S5PV210的I2C匯流排接口 168

9.2.3 I/O描述 170

9.2.4 I2C匯流排控制相關暫存器 170

9.2.5 S5PV210的I2C匯流排操作方法 173

9.3 I2C匯流排套用實例 176

9.3.1 I2C接口和AT24C02的連線 176

9.3.2 讀寫AT24C02程式設計及分析 177

9.3.3 測試實例 179

本章小結 181

第10章 系統時鐘與定時器 182

10.1 S5PV210的時鐘體系 182

10.1.1 系統時鐘概述 182

10.1.2 時鐘聲明 183

10.1.3 時鐘的產生 185

10.1.4 每個子塊最大工作頻率 187

10.1.5 時鐘配置過程 187

10.1.6 系統時鐘相關暫存器 187

10.2 實時時鐘RTC 200

10.2.1 實時時鐘概述 200

10.2.2 實時時鐘操作 200

10.3 PWM定時器 201

10.3.1 PWM定時器概述 201

10.3.2 PWM定時器操作 202

10.3.3 PWM定時器特殊暫存器 206

10.4 WATCHDOG定時器 207

10.5 定時器使用實例 209

10.5.1 PWM編程實例 209

10.5.2 WATCHDOG編程實例 211

本章小結 213

第11章 LCD接口設計與套用 214

11.1 LCD介紹 214

11.2 S5PV210的LCD控制器介紹 217

11.2.1 S5PV210顯示控制器概述 217

11.2.2 顯示控制器的主鍵特性 218

11.2.3 顯示控制器的功能描述 219

11.2.4 數據流 219

11.2.5 接口 220

11.2.6 顏色數據概要 221

11.2.7 顏色空間轉換(CSC) 230

11.2.8 調色板的使用 232

11.2.9 視窗混合 233

11.2.10 圖像增強 238

11.2.11 VTIME控制器操作 240

11.2.12 設定的命令 242

11.2.13 虛擬顯示 244

11.2.14 RGB接口說明 244

11.2.15 LCD iNDIRECT i80系統接口 248

11.2.16 LCD控制器特殊功能暫存器 250

11.3 TFT LCD 顯示實例 254

11.3.1 硬體電路的連線 254

11.3.2 程式設計與分析 257

11.3.4 測試實例 262

本章小結 263

第12章 IIS接口控制與套用 264

12.1 數字音頻信號(IIS)介紹 264

12.2 S5PV210的IIS接口 266

12.2.1 傳送接收模式 266

12.2.2 音頻串列接口格式 267

12.2.3 IIS匯流排接口暫存器 269

12.3 S5PV210 IIS控制程式編寫實例 273

12.3.1 設備驅動程式簡介 273

12.3.2 IIS匯流排接口實例 273

本章小結 292

第13章 DMA接口與套用 293

13.1 DMA的基本概念 293

13.1.1 DMA系統組成 293

13.1.2 DMA工作原理 294

13.1.3 DMA傳輸方式 294

13.1.4 DMA傳輸特點 294

13.2 S5PV210的DMA控制器 295

13.2.1 S5PV210的DMA概述 295

13.2.2 DMA控制器的主要特性 295

13.2.3 S5PV210的DMA特殊暫存器 297

13.3 S5PV210 DMA控制編寫實例 298

13.3.1 DMA代碼分析 298

13.3.2 DMA測試實例 300

本章小結 301

第14章 NAND Flash控制接口與套用 302

14.1 NOR Flash和NAND Flash 302

14.1.1 Flash快閃記憶體 302

14.1.2 NOR和NAND的比較 303

14.2 NAND Flash的物理結構 305

14.3 S5PV210的NAND Flash控制器 309

14.3.1 NAND Flash控制器的特性 309

14.3.2 NAND Flash的模組圖 309

14.3.3 NAND Flash的引腳配置 309

14.3.4 NAND Flash存儲器配置 310

14.3.5 NAND Flash暫存器 310

14.4 NAND Flash操作實例 313

14.4.1 NAND Flash讀的步驟 313

14.4.2 NAND Flash寫的步驟 316

14.4.3 NAND Flash讀寫程式設計實例 316

14.4.4 測試實例 322

本章小結 324

參考文獻 325

相關詞條

相關搜尋

熱門詞條

聯絡我們